﻿using System;
using System.CodeDom.Compiler;
using System.Diagnostics;
using Google.Protobuf;
using Google.Protobuf.Collections;
using Google.Protobuf.Reflection;

namespace EggLink.DanhengServer.Proto
{
	// Token: 0x02001049 RID: 4169
	[DebuggerDisplay("{ToString(),nq}")]
	public sealed class RogueTournLevelInfo : IMessage<RogueTournLevelInfo>, IMessage, IEquatable<RogueTournLevelInfo>, IDeepCloneable<RogueTournLevelInfo>, IBufferMessage
	{
		// Token: 0x170034A4 RID: 13476
		// (get) Token: 0x0600BA4E RID: 47694 RVA: 0x001F6463 File Offset: 0x001F4663
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		public static MessageParser<RogueTournLevelInfo> Parser
		{
			get
			{
				return RogueTournLevelInfo._parser;
			}
		}

		// Token: 0x170034A5 RID: 13477
		// (get) Token: 0x0600BA4F RID: 47695 RVA: 0x001F646A File Offset: 0x001F466A
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		public static MessageDescriptor Descriptor
		{
			get
			{
				return RogueTournLevelInfoReflection.Descriptor.MessageTypes[0];
			}
		}

		// Token: 0x170034A6 RID: 13478
		// (get) Token: 0x0600BA50 RID: 47696 RVA: 0x001F647C File Offset: 0x001F467C
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		MessageDescriptor IMessage.Descriptor
		{
			get
			{
				return RogueTournLevelInfo.Descriptor;
			}
		}

		// Token: 0x0600BA51 RID: 47697 RVA: 0x001F6483 File Offset: 0x001F4683
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		public RogueTournLevelInfo()
		{
		}

		// Token: 0x0600BA52 RID: 47698 RVA: 0x001F6498 File Offset: 0x001F4698
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		public RogueTournLevelInfo(RogueTournLevelInfo other) : this()
		{
			this.levelInfoList_ = other.levelInfoList_.Clone();
			this.curLevelIndex_ = other.curLevelIndex_;
			this.reason_ = other.reason_;
			this.status_ = other.status_;
			this._unknownFields = UnknownFieldSet.Clone(other._unknownFields);
		}

		// Token: 0x0600BA53 RID: 47699 RVA: 0x001F64F1 File Offset: 0x001F46F1
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		public RogueTournLevelInfo Clone()
		{
			return new RogueTournLevelInfo(this);
		}

		// Token: 0x170034A7 RID: 13479
		// (get) Token: 0x0600BA54 RID: 47700 RVA: 0x001F64F9 File Offset: 0x001F46F9
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		public RepeatedField<RogueTournLevel> LevelInfoList
		{
			get
			{
				return this.levelInfoList_;
			}
		}

		// Token: 0x170034A8 RID: 13480
		// (get) Token: 0x0600BA55 RID: 47701 RVA: 0x001F6501 File Offset: 0x001F4701
		// (set) Token: 0x0600BA56 RID: 47702 RVA: 0x001F6509 File Offset: 0x001F4709
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		public uint CurLevelIndex
		{
			get
			{
				return this.curLevelIndex_;
			}
			set
			{
				this.curLevelIndex_ = value;
			}
		}

		// Token: 0x170034A9 RID: 13481
		// (get) Token: 0x0600BA57 RID: 47703 RVA: 0x001F6512 File Offset: 0x001F4712
		// (set) Token: 0x0600BA58 RID: 47704 RVA: 0x001F651A File Offset: 0x001F471A
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		public RogueTournSettleReason Reason
		{
			get
			{
				return this.reason_;
			}
			set
			{
				this.reason_ = value;
			}
		}

		// Token: 0x170034AA RID: 13482
		// (get) Token: 0x0600BA59 RID: 47705 RVA: 0x001F6523 File Offset: 0x001F4723
		// (set) Token: 0x0600BA5A RID: 47706 RVA: 0x001F652B File Offset: 0x001F472B
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		public RogueTournLevelStatus Status
		{
			get
			{
				return this.status_;
			}
			set
			{
				this.status_ = value;
			}
		}

		// Token: 0x0600BA5B RID: 47707 RVA: 0x001F6534 File Offset: 0x001F4734
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		public override bool Equals(object other)
		{
			return this.Equals(other as RogueTournLevelInfo);
		}

		// Token: 0x0600BA5C RID: 47708 RVA: 0x001F6544 File Offset: 0x001F4744
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		public bool Equals(RogueTournLevelInfo other)
		{
			return other != null && (other == this || (this.levelInfoList_.Equals(other.levelInfoList_) && this.CurLevelIndex == other.CurLevelIndex && this.Reason == other.Reason && this.Status == other.Status && object.Equals(this._unknownFields, other._unknownFields)));
		}

		// Token: 0x0600BA5D RID: 47709 RVA: 0x001F65B4 File Offset: 0x001F47B4
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		public override int GetHashCode()
		{
			int num = 1;
			num ^= this.levelInfoList_.GetHashCode();
			if (this.CurLevelIndex != 0U)
			{
				num ^= this.CurLevelIndex.GetHashCode();
			}
			if (this.Reason != RogueTournSettleReason.None)
			{
				num ^= this.Reason.GetHashCode();
			}
			if (this.Status != RogueTournLevelStatus.None)
			{
				num ^= this.Status.GetHashCode();
			}
			if (this._unknownFields != null)
			{
				num ^= this._unknownFields.GetHashCode();
			}
			return num;
		}

		// Token: 0x0600BA5E RID: 47710 RVA: 0x001F663F File Offset: 0x001F483F
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		public override string ToString()
		{
			return JsonFormatter.ToDiagnosticString(this);
		}

		// Token: 0x0600BA5F RID: 47711 RVA: 0x001F6647 File Offset: 0x001F4847
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		public void WriteTo(CodedOutputStream output)
		{
			output.WriteRawMessage(this);
		}

		// Token: 0x0600BA60 RID: 47712 RVA: 0x001F6650 File Offset: 0x001F4850
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		void IBufferMessage.InternalWriteTo(ref WriteContext output)
		{
			if (this.CurLevelIndex != 0U)
			{
				output.WriteRawTag(24);
				output.WriteUInt32(this.CurLevelIndex);
			}
			this.levelInfoList_.WriteTo(ref output, RogueTournLevelInfo._repeated_levelInfoList_codec);
			if (this.Reason != RogueTournSettleReason.None)
			{
				output.WriteRawTag(104);
				output.WriteEnum((int)this.Reason);
			}
			if (this.Status != RogueTournLevelStatus.None)
			{
				output.WriteRawTag(120);
				output.WriteEnum((int)this.Status);
			}
			if (this._unknownFields != null)
			{
				this._unknownFields.WriteTo(ref output);
			}
		}

		// Token: 0x0600BA61 RID: 47713 RVA: 0x001F66D8 File Offset: 0x001F48D8
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		public int CalculateSize()
		{
			int num = 0;
			num += this.levelInfoList_.CalculateSize(RogueTournLevelInfo._repeated_levelInfoList_codec);
			if (this.CurLevelIndex != 0U)
			{
				num += 1 + CodedOutputStream.ComputeUInt32Size(this.CurLevelIndex);
			}
			if (this.Reason != RogueTournSettleReason.None)
			{
				num += 1 + CodedOutputStream.ComputeEnumSize((int)this.Reason);
			}
			if (this.Status != RogueTournLevelStatus.None)
			{
				num += 1 + CodedOutputStream.ComputeEnumSize((int)this.Status);
			}
			if (this._unknownFields != null)
			{
				num += this._unknownFields.CalculateSize();
			}
			return num;
		}

		// Token: 0x0600BA62 RID: 47714 RVA: 0x001F675C File Offset: 0x001F495C
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		public void MergeFrom(RogueTournLevelInfo other)
		{
			if (other == null)
			{
				return;
			}
			this.levelInfoList_.Add(other.levelInfoList_);
			if (other.CurLevelIndex != 0U)
			{
				this.CurLevelIndex = other.CurLevelIndex;
			}
			if (other.Reason != RogueTournSettleReason.None)
			{
				this.Reason = other.Reason;
			}
			if (other.Status != RogueTournLevelStatus.None)
			{
				this.Status = other.Status;
			}
			this._unknownFields = UnknownFieldSet.MergeFrom(this._unknownFields, other._unknownFields);
		}

		// Token: 0x0600BA63 RID: 47715 RVA: 0x001F67D1 File Offset: 0x001F49D1
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		public void MergeFrom(CodedInputStream input)
		{
			input.ReadRawMessage(this);
		}

		// Token: 0x0600BA64 RID: 47716 RVA: 0x001F67DC File Offset: 0x001F49DC
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		void IBufferMessage.InternalMergeFrom(ref ParseContext input)
		{
			uint num;
			while ((num = input.ReadTag()) != 0U)
			{
				if (num <= 34U)
				{
					if (num == 24U)
					{
						this.CurLevelIndex = input.ReadUInt32();
						continue;
					}
					if (num == 34U)
					{
						this.levelInfoList_.AddEntriesFrom(ref input, RogueTournLevelInfo._repeated_levelInfoList_codec);
						continue;
					}
				}
				else
				{
					if (num == 104U)
					{
						this.Reason = (RogueTournSettleReason)input.ReadEnum();
						continue;
					}
					if (num == 120U)
					{
						this.Status = (RogueTournLevelStatus)input.ReadEnum();
						continue;
					}
				}
				this._unknownFields = UnknownFieldSet.MergeFieldFrom(this._unknownFields, ref input);
			}
		}

		// Token: 0x04004B14 RID: 19220
		private static readonly MessageParser<RogueTournLevelInfo> _parser = new MessageParser<RogueTournLevelInfo>(() => new RogueTournLevelInfo());

		// Token: 0x04004B15 RID: 19221
		private UnknownFieldSet _unknownFields;

		// Token: 0x04004B16 RID: 19222
		public const int LevelInfoListFieldNumber = 4;

		// Token: 0x04004B17 RID: 19223
		private static readonly FieldCodec<RogueTournLevel> _repeated_levelInfoList_codec = FieldCodec.ForMessage<RogueTournLevel>(34U, RogueTournLevel.Parser);

		// Token: 0x04004B18 RID: 19224
		private readonly RepeatedField<RogueTournLevel> levelInfoList_ = new RepeatedField<RogueTournLevel>();

		// Token: 0x04004B19 RID: 19225
		public const int CurLevelIndexFieldNumber = 3;

		// Token: 0x04004B1A RID: 19226
		private uint curLevelIndex_;

		// Token: 0x04004B1B RID: 19227
		public const int ReasonFieldNumber = 13;

		// Token: 0x04004B1C RID: 19228
		private RogueTournSettleReason reason_;

		// Token: 0x04004B1D RID: 19229
		public const int StatusFieldNumber = 15;

		// Token: 0x04004B1E RID: 19230
		private RogueTournLevelStatus status_;
	}
}
